Q: HTTP 経由でメディアファイル(JPG、MOV、GIF など)をダウンロードするのに QuickTime URL データハンドラを使用しています。
このとき特定のコンピュータでは、エラー -2127 qtNetworkAlreadyAllocatedErr を受け取ります。このエラーは何を意味するのでしょうか?
A: このエラーは、QuickTime のシステム環境設定でのユーザの接続速度設定が、一度に複数のムービーに対するネットワークセッションの割り当てを禁止しており(基本的に、接続速度設定がモデム速度の 1 つに設定されている場合)、あるエンティティが、ネットワークの使用の許可が割り当てられているムービーの範囲外でネットワークセッションを割り当てようとしているときに起こります。
QuickTime のシステム環境設定で「複数ストリーミングを同時に再生」がチェックされているコンピュータでは、この問題は起きません。
このエラーを避けるための解決策法は、DataHSetTimeHints 関数を使って、データハンドラに対して、QuickTime から帯域幅の許可を要求せずに処理を開始してネットワークを使うように指示することです。以下は、この方法を示すコードです。
リスト 1. 処理前にネットワークの帯域幅を要求しないようにデータハンドラに指示する方法
|
#include <QuickTime/QuickTime.h>
ComponentResult result;
// 処理前にネットワークの帯域幅を要求しないように
// データハンドラに指示する
result = DataHSetTimeHints(dataHandler,
kDataHSetTimeHintsSkipBandwidthRequest,
kQTRealTimePriority,
600, /* スケール */
0, /* 最小時間 */
0x7fffffff); /* 最大時間 = 無制限 */
|
[2003 年 3 月 20 日]
|